Summar of implementations of Resource

Name Comments
LeadsForCustomerPage
FileResource A FileResource represents a file, such as an image or video. It will also represent HTML pages and there are methods for accessing the structured content within a HTML page, such as title, body and data parameters
LeadsFolder
LeadManAnalyticsPage
LeadFilePage
SpliffyContentGenerator.ErrorResource
LeadCompanyPage
RegisterOrLoginPage
ECommerceCartItemResource
VoucherTypeFolder
TemplatedHtmlPage This is used for pages which just need to generate a template. Its often extended to provide additional methods Gets its title from the template
ProductInRewardResource
SalesDataFolder This page lets you POST to create, update and delete records of any data series by specifying parameters, including the amount and series name A data series is any series of time stamped values, often used for collecting sales data but can be used for any series.
BaseSearchPage
JsonDocumentResource
ShoppingCartResource
LeadFormPage
StreamItemPage Outputs the stream activity as json
ManageVideoAssetFolder
MyFilesPage
ECommerceStoreFolder The root resource for an e-commerce store. This provides access to categories and products linked to this store See the base class AbstractECommerceStoreCollectionResource for more
ManageContentItemFolder
RewardUploadsFolder This is a special folder which is a child of a RewardFolder, which allows uploaded files to be viewed. There is a child for each entry with an uploaded file as an attachment
MyCalendarsPage
LeadFilesPage
CalEventAttendeesResource
BlogsFolder Represents a collection of blogs, where a blog is a stream of articles
AuctionFolder
BlogArticleFolder.BlogImageResource
LeadCompaniesFolder
LeadFormsPage
LeadPage
QueriesFolder
LeadTasksCsvPage
ViewEmailPage
PasswordResetPage
EmailAttachmentFile
PostSearchResource Search for forum posts, comments, etc
StreamActivitySearchPage Outputs the stream activity as json
MyLearningPage This renders the myLearning template, and is accessed from the menu so is not within the context of any program or course
CommentsResource
ResourcesPage Displays resources based on what gruops the current user is enrolled in Reads from a conventional folder structure associated with the website: /resources/[group-name] where group-name is the name of a group which is associated with the current website
ModuleFolder
VoucherRedemptionPage This is the top level resource for voucher redemptions and management Users use this page to search for vouchers and change their status to redeemed, pending, etc, or to reset their status when a mistake has occurred.
ProductFolder
ProductsFolder
KpiDataPage A KpiDataPage is a resource class which represents a KPI. The parent of a KpiDataPage is the data series that it belongs to. A KPI has 3 main ingredients:
  • A way of aggregating records to get a single number. Eg sum, count, average. This is the aggregation
  • A time interval, such as weekly, monthly, quarterly. As well as the interval there is a multiples, ie 2 weekly, 3 monthly, etc
  • A list of levels which categorise the result. Eg 0-80% is Poor, 80-90% is Good, and 90-100% is Great
When a KPI period is passed then assessments can be generated. Eg if you have a monthly KPI you might generate assessments for January on the 1st of Feb. The assessment is a final result which will not change even if the data series records are subsequently altered. Depending on what KPI result user has achieved they may reach a level, and level may have rewards associated with it. Rewards are allocated as a second step after KPI assessments are generated.
AbstractManageAssetResource
AbstractBranchFolder Base class for resources which represent a branch
MyForumFolder
ShoppingCartItemResource
ECommerceShoppingCartResource
CalendarFolder
ManageJsonDatabaseFolder
LeadTasksPage
LeadTaskPage
BlogArticleFolder.BlogFileResource
TemplateReportPage This is wrapped around Report instaneces of type TemplateReport. Most notably this includes reports defined in custom apps This type of report is the most generic, it allows the report author to provide a template which generates any output. There are no filtering options built in so the template must define and apply any which are required However the standard ReportParams object is included as a property for convenience For custom apps, they will normally execute a search using the searchManager which is a property of this resource
ManageShoppingCartsFolder
AuctionFolder.AuctionImageResource
LeadProfilesPage
ContactUsFormPage Submit forms to this resource (usually on /contactus) as a POST to send contact email requests The contactus form page is conceptually very similar to the group registration page. Both will create a profile if it doesnt exist and you can submit data to both, and both can trigger events to send emails, etc. The difference is that a contact submission only creates new data, it never changes existing data. Whereas registering a user can allow existing profile data to be modified.

Captcha

If a Captcha app is enabled it will be used to verify the response. You can customise the error response message by sending a parameter called invalidCaptchaMessage
RootFolder
CourseFolder A course, which is just a special type of folder that contains modules
JsonDatabasesFolder
ControllerResource This is the resource which gets created when a controller mapping is located. It executes the javascript and templates Scripts executed from a ControllerResource have access to these global variables
BlogFolder A BlogFolder is a folder containing blog articles. It also has tags and categories which can be assigned to its articles
KademiCalendarSearchService.AttendeeResource Represents an explicit invitation to an event for a user
ContentSearchPage Use this to do queries, optionally including aggregations and selecting terms Eg contentSearch?q=farm&aggregations=type/categories&term-type=News This will query for: query text = farm (will search in title, content) type = News (will look for a type field of exact value News) aggregations: first by type, then with a nested aggregation of categories
OrganisationRootFolder This is the root folder for the admin site. The admin site is used to setup users and websites accessing the server
ManageBinaryAssetFolder
LeadProfilePage
ManageTextAssetFolder
EmailFolder List emails for this user
ReferralPage Post to /referral in a website with the following: - toName: the name of the recipient, user entered - toEmail: the email address of the recipient, user entered - message: the optional personal message to send, user entered. - pageHref: the optional page path to invite the user to, defaults to the root
PublicProfilePage User's own profile page, for use within a website
CalendarHomeFolder
ContactRequestsJsonResource Outputs the stream activity as json
ProfilePage User's own profile page, for use within a website

Access on /profile/

Supports REST access to return JSON data if you set a json content type

curl 'http://version1.airpoints.loopbackdns.com:8080/profile/' -H 'Host: version1.airpoints.loopbackdns.com:8080' -H 'Accept: application/json'
 {
   "data":{
      "optins":{
      },
      "profile":{
         "firstName":"dd",
         "notes":"",
         "surName":"dd",
         "phone":"123123123",
         "nickName":"admin",
         "name":"admin",
         "href":"/users/admin/public",
         "userName":"admin",
         "userId":2,
         "email":"brad@xxxxx",
         "photoHash":"61084ad4739a840d9983978a48c84ea6cd793251"
      }
   },
   "fieldMessages":[

   ],
   "messages":[

   ],
   "nextHref":"",
   "status":false
}
 
RewardEntryAttachment This represents the attachment for an entry. Usually for uploading photos
ManageImageAssetFolder
RenderFileResource This class is for rendering HTML pages. It wraps a normal FileResource and parses its content, expecting it to be a well formed HTML page. It extracts a template, if present in a link tag, and if not present defaults it to theme/page, so it will use the page.html template of the current theme Example: home page The title, template and body can be updated with a POST to this Also supports read/write parameters embedded in the html Parameters can be accessed via milton/ajax integration with the milton namespace Eg: module1/_DAV/PROPFIND?fields=milton:learningTimeMins And those parameters can be updated via PROPPATCH in a similar manner Creating new html pages is supported by integration with NewPageResource, which looks for a .new suffix, and creates an instance of RenderFileResource on the fly
VoucherPage
DashboardAlertPage
DirectoryResource Represents a version of a directory, containing the members which are in that directory in the repository snapshot
AbstractContentResource
GroupRegistrationPage Manages registration of a user when signing up to a group
AbstractECommerceStoreCollectionResource The common base class for both the store folder and category folders Provides methods for searching for products within this resource. Eg a search within a ECommerceStoreCategoryFolder only yields results within that category, but a search on ECommerceStoreFolder yields results from all categories in the store
UserResource
ProgramFolder
CertificateFolder Represents a certificate, typically awarded for completed training activities This folder will generate HTML applying a template. The parent folder will usually be a module folder, and if so status for the current user about that module will be referenced in the certificate.
ForumReplyResource
ProfilePicResource
EmailOpenAcknowledgePage Just outputs a one-pixel gif, and records the associated email as being opened
AbstractResource Base class for pretty much all resources
DashboardPage Dashboard for the user. Most functions will be provided by PortletApplications which will be invoked from the template using the PortletsDirective Eg: #portlets("messages") , which will render portlets for the messages section of the page Standard sections are intended to be: messages - brief list of messages at top of page primary - this is the main section of the page, with about 70% width secondary - this is a narrowed section of the page, possible lower down for small screen clients
StreamActivitySummaryResource Outputs the stream activity as json
EmailItemFolder Represents a single email, which might contain attachments
ManageQueryItemFolder
ManageAssetsFolder
MyForumsFolder
DataSeriesFolder Represents a Data Series, and provides properties for ranking participants etc
ManageContactRequestsFolder
DoPasswordResetPage
ProductImageResource
LeadFormNodePage
GroupInWebsiteFolder Represents a group which has access to the current website. This can be used to find information about registration options, etc
RewardStoreFolder Represents a reward store. Provides methods for accessing the current user;s transaction history, points balance Child resources are category folders, which contain the products

Get recent points activity with the pointsActivity parameter:
?pointsActivity☆tDate=...&endDate...

Get the current points balance with the points parameter: ?points { balance : 1000, availableBalance: 950 }

RewardStoreCategoryFolder
LeadFormBySalesPage
RewardsShoppingCartItemResource
JsonDatabaseFolder
AuctionsFolder Represents the root collection of auctions
WebsiteRootFolder Represents the root of a website. A "website" in this context is a product, its a customer facing side of some activity, such as Learning Management System or business website. Resources within a WebsiteRootFolder will often behave differently then if they were located under a OrganisationRootFolder, because the assumption is that websites are for customers, while aadministrators will accessing the organisation directly While WebsiteRootFolder is a view of a repository (or rather a branch within a repository) it also provides access to other repositories. Any repository within the containing organisation can be access by name from the root folder. For example, if an org has this structure: myOrg - milton.io - maven ... then requests to http://milton.io/maven will show the maven repository
BlogArticleFolder Represents an article in a blog.

An article has a title, body, brief description and blog images. An article is also a folder and can contain resources such as images used in body content

Blog images are images which are specifically assigned to the article with an orientation and they are used for templating purposes.

Articles have an approval process to allow blog authors to have their work checked before being published to the website.

ManageShoppingCartFolder
RewardFolder This is for non-learning rewards, ie competitions A RewardsFolder represents a Reward, and is a folder which can contain arbitrary content resources like images etc
LeadFileResource
ProgramsFolder This is the root folder for e-learning. Its direct children are all programs in the current website. You can use this to find programs and courses available for the current user, or all which exist.
MyQuestionFolder
LeadTeamPage
TemplateReportAttachmentFile This is wrapped around Report instaneces of type TemplateReport. Most notably this includes reports defined in custom apps This will generate a downloadable attachment (eg CSV) from the TemplateReport instance
MyInboxPage
CalEventResource Represents a calendar event, ie an invitation
Users can RSVP for this event by posting a form to is containing a parameter 'rsvp'
AbstractRewardStoreCollectionResource
MyRewardsFolder This is the home page for rewards information for a user, normally accessed on /rewards Within this folder are RewardFolder objects for each reward
AssetsFolder